package com.ysqcould.Community.domain;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.ysqcould.common.annotation.Excel;
import com.ysqcould.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 义工活动信息对象 t_vol_activity
 * 
 * @author ruoyi
 * @date 2022-06-30
 */
public class VolActivity extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 发起人id */
    @Excel(name = "发起人id")
    private Long userId;

    /** 联系人 */
    @Excel(name = "联系人")
    private String contacts;

    /** 图片地址，多张用；分隔 */
    @Excel(name = "图片地址，多张用；分隔")
    private String pcUrl;

    /** 活动名称 */
    @Excel(name = "活动名称")
    private String name;

    /** 最大活动人数 */
    @Excel(name = "最大活动人数")
    private Long maxNumber;

    /** 轰动人数范围 */
    @Excel(name = "轰动人数范围")
    private String peopleNumber;

    /** 报名价格(以分做单位) */
    @Excel(name = "报名价格(以分做单位)")
    private Long price;

    /** 每工时的积分(每小时) */
    @Excel(name = "每工时的积分(每小时)")
    private Long integral;

    /** 活动报名开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动报名开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyStartTime;

    /** 活动报名结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动报名结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyEndTime;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String telPhone;

    /** 活动开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 活动结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 活动内容 */
    @Excel(name = "活动内容")
    private String content;

    /** 活动地址 */
    @Excel(name = "活动地址")
    private String address;

    /** 自定义字段内容 */
    @Excel(name = "自定义字段内容")
    private String customField;

    /** 收藏人数 */
    @Excel(name = "收藏人数")
    private Long collectNumber;

    /** 报名人数 */
    @Excel(name = "报名人数")
    private Long applyNumber;

    /** 是否为官方发布：0不是，1是 */
    @Excel(name = "是否为官方发布：0不是，1是")
    private Long isGf;

    /** 活动二维码url */
    @Excel(name = "活动二维码url")
    private String qrcode;

    /** 活动报名二维码url */
    @Excel(name = "活动报名二维码url")
    private String applyQrcode;

    /** 协会id */
    @Excel(name = "协会id")
    private Long asId;

    /** 状态（字典 0正常 1冻结 2删除） */
    @Excel(name = "状态", readConverterExp = "字=典,0=正常,1=冻结,2=删除")
    private Long status;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setContacts(String contacts) 
    {
        this.contacts = contacts;
    }

    public String getContacts() 
    {
        return contacts;
    }
    public void setPcUrl(String pcUrl) 
    {
        this.pcUrl = pcUrl;
    }

    public String getPcUrl() 
    {
        return pcUrl;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setMaxNumber(Long maxNumber) 
    {
        this.maxNumber = maxNumber;
    }

    public Long getMaxNumber() 
    {
        return maxNumber;
    }
    public void setPeopleNumber(String peopleNumber) 
    {
        this.peopleNumber = peopleNumber;
    }

    public String getPeopleNumber() 
    {
        return peopleNumber;
    }
    public void setPrice(Long price) 
    {
        this.price = price;
    }

    public Long getPrice() 
    {
        return price;
    }
    public void setIntegral(Long integral) 
    {
        this.integral = integral;
    }

    public Long getIntegral() 
    {
        return integral;
    }
    public void setApplyStartTime(Date applyStartTime) 
    {
        this.applyStartTime = applyStartTime;
    }

    public Date getApplyStartTime() 
    {
        return applyStartTime;
    }
    public void setApplyEndTime(Date applyEndTime) 
    {
        this.applyEndTime = applyEndTime;
    }

    public Date getApplyEndTime() 
    {
        return applyEndTime;
    }
    public void setTelPhone(String telPhone) 
    {
        this.telPhone = telPhone;
    }

    public String getTelPhone() 
    {
        return telPhone;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setCustomField(String customField) 
    {
        this.customField = customField;
    }

    public String getCustomField() 
    {
        return customField;
    }
    public void setCollectNumber(Long collectNumber) 
    {
        this.collectNumber = collectNumber;
    }

    public Long getCollectNumber() 
    {
        return collectNumber;
    }
    public void setApplyNumber(Long applyNumber) 
    {
        this.applyNumber = applyNumber;
    }

    public Long getApplyNumber() 
    {
        return applyNumber;
    }
    public void setIsGf(Long isGf) 
    {
        this.isGf = isGf;
    }

    public Long getIsGf() 
    {
        return isGf;
    }
    public void setQrcode(String qrcode) 
    {
        this.qrcode = qrcode;
    }

    public String getQrcode() 
    {
        return qrcode;
    }
    public void setApplyQrcode(String applyQrcode) 
    {
        this.applyQrcode = applyQrcode;
    }

    public String getApplyQrcode() 
    {
        return applyQrcode;
    }
    public void setAsId(Long asId) 
    {
        this.asId = asId;
    }

    public Long getAsId() 
    {
        return asId;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("contacts", getContacts())
            .append("pcUrl", getPcUrl())
            .append("name", getName())
            .append("maxNumber", getMaxNumber())
            .append("peopleNumber", getPeopleNumber())
            .append("price", getPrice())
            .append("integral", getIntegral())
            .append("applyStartTime", getApplyStartTime())
            .append("applyEndTime", getApplyEndTime())
            .append("telPhone", getTelPhone())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("content", getContent())
            .append("address", getAddress())
            .append("customField", getCustomField())
            .append("collectNumber", getCollectNumber())
            .append("applyNumber", getApplyNumber())
            .append("isGf", getIsGf())
            .append("qrcode", getQrcode())
            .append("applyQrcode", getApplyQrcode())
            .append("asId", getAsId())
            .append("updateTime", getUpdateTime())
            .append("createTime", getCreateTime())
            .append("status", getStatus())
            .toString();
    }
}
